package com.gdust.hzx;

import com.gdust.spzx.common.log.annotation.EnableLogAspect;
import com.gdust.hzx.manager.properties.TencentCloudProperties;
import com.gdust.hzx.manager.properties.UserAuthProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * ClassName: ManagerApplication
 * Package: com.gdust.spzx
 * Description:项目启动类
 *
 *  `@EnableConfigurationProperties`用于启用特定的配置属性类（如`@ConfigurationProperties`）
 *  并将其注册为Spring容器中的bean。
 *
 * @Author syun
 * @Create 2024/11/2 21:53
 * @Version 1.0
 */
@EnableLogAspect//自定义注解，用于在其他业务服务中启用 LogAspect 切面类。
@EnableScheduling// 启用定时任务调度功能，用于配置任务调度
@SpringBootApplication// 声明当前类为 Spring Boot 应用的启动类。
@ComponentScan(basePackages = {"com.gdust.hzx"})// 指定包扫描路径。
//@EnableConfigurationProperties(value = {UserAuthProperties.class})
// 启用配置属性类，支持将外部配置文件中的属性绑定到 UserAuthProperties 和 TencentCloudProperties 类。
@EnableConfigurationProperties(value = {UserAuthProperties.class, TencentCloudProperties.class})
public class ManagerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ManagerApplication.class);
    }
}
